Disciplined Message Passing
نویسنده
چکیده
This paper addresses the question of whether message passing provides an adequate programming model to address current needs in programming multicore processors. It studies the pitfalls of message passing as a concurrency model, and argues that programmers need more structure than what is provided by today’s popular message passing libraries. Collective operations and design patterns can help a great deal, but as the use of concurrency in programming increases, application programmers will have increasing difficulty identifying and combining these into complex operations. Moreover, some challenges, such as ensuring data determinacy and managing deadlock and buffer memory, are extremely subtle, and require considerable expertise to implement correctly. This paper illustrates this point by giving a few problematic examples. I argue that application programmers should not have to deal with many of these challenges, but with today’s message passing libraries, they have no choice. The solution is to provide infrastructurelevel support implementing more disciplined concurrent models of computation (MoCs). I show how process networks and dataflow models can provide excellent implementations of the requisite mechanisms, thus enabling application programmers to focus on the functionality of the application rather than on avoiding the pitfalls of concurrent programming.
منابع مشابه
The Open Challenge of Typed Expressiveness in Concurrency
Context Communication and types are increasingly relevant in (concurrent) programming. To bear witness of this trend, several languages promoted by industry offer advanced type systems (or type-based analysis tools) and/or support (message-passing) communication. For instance, Facebook’s Flow [1] is a type checker for JavaScript based on gradual typing; Mozilla’s Rust [4] exploits affine, owner...
متن کاملMSA: Multiphase Specifically Shared Arrays
Shared address space (SAS) parallel programming models have faced difficulty scaling to large number of processors. Further, although in some cases SAS programs are easier to develop, in other cases they face difficulties due to a large number of race conditions. We contend that a multi-paradigm programming model comprising a distributedmemory model with a disciplined form of shared-memory prog...
متن کاملDisciplined Flood Protocols in Sensor Networks
Flood is a communication primitive that can be initiated by the base station of a sensor network to send a copy of some message to every sensor in the network. When a flood of some message is initiated, the message is forwarded by every sensor that receives the message until the sensors decide not to forward the message any more. This uncontroled flood can cause the forwarded messages to collid...
متن کاملThe Disciplined Flood Protocol in Sensor Networks
Flood is a communication primitive that can be initiated by the base station of a sensor network to send a copy of some message to every sensor in the network. When a flood of some message is initiated, the message is forwarded by every sensor that receives the message until the sensors decide not to forward the message any more. This uncontrolled flood can cause the forwarded messages to colli...
متن کاملEvaluation of Nasr Hamed Abu Zayd's interpretive approach in understanding the verses of the Islamic rulings
Hamed Abu Zayd, a contemporary scholar, believes that the message of the Quran can only survive through interpretation. In his view, the verses of the Islamic rulings should be interpreted in a modern way; From the development process of the Islamic rulings in the age of revelation, a message can be deducted through which modern rulings can be obtained. Since every understanding of the Qurchr('...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009